<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Main extends Controller_Template
{

    public $template = 'main';

    public function action_index()
    {
        $this->template->styles = array('main');
        if ($this->request->method() == HTTP_Request::POST) {
            $this->template->title = 'Загрузка изображения';
            // var_dump($_FILES); die();
            $tmp_name = $_FILES['file']['tmp_name'];
            $ext = explode('.', $_FILES['file']['name']);
            $ext = '.' . array_pop($ext);
            if (File::check_meme($tmp_name))
            {
                $hash = md5(time() . $tmp_name);
                $dir = substr($hash, 0, 3);
                if (!is_dir(DOCROOT . 'public/img/' . $dir))
                {
                    mkdir(DOCROOT . 'public/img/' . $dir);
                }
                if (copy($tmp_name, DOCROOT . 'public/img/' . $dir . '/' . $hash . $ext))
                {
                    $image = Image::factory(DOCROOT . 'public/img/' . $dir . '/' . $hash . $ext);
                    $image->resize(150, 200, IMAGE::NONE);
                    if (!is_dir(DOCROOT . 'public/img/thumb/' . $dir))
                    {
                        mkdir(DOCROOT . 'public/img/thumb/' . $dir);
                    }
                    $image->save(DOCROOT . 'public/img/thumb/' . $dir . '/' . $hash . '.jpg', 100);

                    $prep['path_to_fullsize'] = '/public/img/' . $dir . '/' . $hash . $ext;
                    $prep['path_to_thumb'] = '/public/img/thumb/' . $dir . '/' . $hash . '.jpg';
                    $prep['description'] = HTML::chars($this->request->post('descr'));

                    $image_model=ORM::factory('image')
                        ->set('path_to_fullsize',$prep['path_to_fullsize'])
                        ->set('path_to_thumb',$prep['path_to_thumb'])
                        ->set('description',$prep['description'])
                        ->save();
                    $view = View::factory('message');
                    $view->message = 'Файл был успешно загружен';
                    $this->template->content = $view;
                }
                else
                {
                    $view = View::factory('message');
                    $view->message = 'Файл не был создан. Попробуйте позже.';
                    $this->template->content = $view;
                }

            }
            else
            {
                $view = View::factory('message');
                $view->message = 'Тип такого файла не поддерживается';
                $this->template->content = $view;
            }
        }
        else
        {
            $this->template->title = 'Галерея';
            $grid = View::factory('grid');
            $form = View::factory('form');
            $this->template->content = $grid . $form;
        }

    }
}